Internet protocol (IP) multicast technology has emerged to meet the needs of distributing in real time audio and video to a set of hosts joining, e.g., a videoconference in a corporate environment. The IP multicast technology efficiently utilizes the limited bandwidth of an IP network by simultaneously delivering a single stream of audio/video data to the set of hosts connected to the network. The audio/video data is routed in the network in the form of IP packets or datagrams, which are replicated by routers in distributing them through the network, thereby requiring the source to send only one copy of the data to the network.
IP multicast operates based on a group concept. A group of hosts which expresses an interest in receiving a particular data stream can join the conference using a well known Internet Group Management Protocol (IGMP). The group does not have any physical or geographical boundaries. That is, the hosts in the group can be located anywhere on the IP network.
All hosts which have joined the conference are aware of the IP multicast packets with a particular destination address to which the source sends the data stream. When the packets traverse the network, the hosts read them based on their destination address, which is a so-called “Class D address.” Specifically, each IP packet whose destination address starts with “1110” is an IP multicast packet. The remaining 28 bits of the address identify the multicast group for which the packet is intended.
A host, especially a so-called “level 2 host,” may act as a source sending multicast traffic and/or a receiver receiving multicast traffic. A receiver host, including the IGMP implementation in their TCP/IP stack, is capable of joining and leaving multicast groups and propagating this information to multicast routers.
When a host joins a particular multicast group, it informs its processor to read and deliver any IP multicast packets in the network interface having the bit sequence identifying the group in their destination field. When the host is no longer interested in the particular group, it informs the processor that it wants to leave that group.
The IGMP is used to dynamically register individual hosts in a multicast group on a particular network. Hosts identify group memberships by sending IGMP messages to their local multicast router. Under the IGMP, routers listen to IGMP messages and periodically send out queries to discover which groups are active or inactive on a particular subnet.